---
title: clsHearingLocation
summary: API reference for clsHearingLocation.
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
---

# clsHearingLocation

`clsHearingLocation` represents one hearing-location master row, combining the location code, descriptive name, rotation flags, average-case-count settings, and mailing address details used in legal scheduling.* It also validates state/city inputs and checks whether a location is still referenced by schedule rows before delete operations proceed.

## Purpose
- Stores the identifying code, operational flags, dates, and address/contact fields for one hearing location.
- Validates required location data and exposes delete-safety and state-validation helpers used by maintenance workflows.

## Context
- Namespace: `SAIF.Business.Claim.Legal.TableMaint`
- Assembly/package: `SAIF.Business.Claim.Legal`

## Public members

| Member | Kind | Type | Purpose |
|---|---|---|---|
| HearingLocationID | Property | `Decimal` | Unique sequence number for the `HEARING_LOCATION` row. |
| HearingLocationCode | Property | `String` | Code identifying the hearing location. |
| HearingLocationDescription | Read-only property | `String` | Code-table description loaded for `HearingLocationCode`. |
| LocationName | Property | `String` | Business/display name of the hearing location. |
| RequiresFullDayFlag | Property | `Boolean` | Indicates whether hearings at this location require a full-day schedule block. |
| RotationFlag | Property | `Boolean` | Indicates whether the location participates in attorney rotation processing. |
| EffectiveDate | Property | `Date` | Date the row becomes effective. |
| CreateUser | Property | `String` | User ID recorded when the row was created. |
| CreateDate | Property | `Date` | Timestamp recorded when the row was created. |
| RotationAverageCaseCount | Property | `Decimal` | Average-case-count value stored for rotation balancing at this location.* |
| Addr1 | Property | `String` | First street-address line for the row's mailing/location address. |
| Addr2 | Property | `String` | Second street-address line for the row's mailing/location address. |
| Addr3 | Property | `String` | Third street-address line for the row's mailing/location address. |
| City | Property | `String` | City portion of the row's mailing/location address. |
| State | Property | `String` | State or province abbreviation for the row's mailing/location address. |
| Zip | Property | `String` | ZIP or postal code for the row's mailing/location address. |
| Zip4 | Property | `String` | ZIP+4 extension for the row's mailing/location address. |
| ExpirationDate | Property | `Nullable(Of Date)` | Date the row stops applying; when cleared, the row remains open-ended. |
| ExpirationDateSort | Read-only property | `Date` | Raw expiration-date value exposed for collection sorting. |
| UpdateUser | Property | `String` | User ID recorded when the row was last updated. |
| UpdateDate | Property | `Date` | Timestamp recorded when the row was last updated. |
| Create() | Protected Method | `—` | Obtains the next `Hearing_Location_SEQ` value for a new hearing-location row. |
| CanDeleteLocation(inLocationSeq As Decimal) | Method | `Boolean` | Checks whether any `SCHEDULE` rows still reference the hearing location before delete is allowed. |
| BeforeRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the retrieve request used to load this hearing-location row. |
| AfterRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `IBusinessObject` | Copies the retrieved result-set row into this hearing-location row and marks it as persisted. |
| BeforeInsert(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the insert request for `HEARING_LOCATION`. |
| AfterInsert(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was inserted and marks the object persisted; records an error when the insert fails. |
| BeforeUpdate(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the update request for `HEARING_LOCATION`. |
| AfterUpdate(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was updated and marks the object persisted; records a contention error when the update fails. |
| BeforeDelete(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the delete request for `HEARING_LOCATION` using this row's key values. |
| AfterDelete(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was deleted and resets the object to a new state; records a contention error when the delete fails. |
| SetAddr1Null() | Method | `—` | Clears the stored first address line value. |
| SetAddr2Null() | Method | `—` | Clears the stored second address line value. |
| SetAddr3Null() | Method | `—` | Clears the stored third address line value. |
| SetCityNull() | Method | `—` | Clears the stored city value value. |
| SetStateNull() | Method | `—` | Clears the stored state value value. |
| SetZipNull() | Method | `—` | Clears the stored ZIP code value. |
| SetZip4Null() | Method | `—` | Clears the stored ZIP+4 extension value. |
| SetExpDateNull() | Method | `—` | Clears the stored expiration date so the row becomes open-ended. |
| SetUpdateUserNull() | Method | `—` | Clears the stored update user value. |
| SetUpdateDateNull() | Method | `—` | Clears the stored update date value. |
| IsAddr1Null() | Method | `Boolean` | Reports whether the stored first address line value is currently empty. |
| IsAddr2Null() | Method | `Boolean` | Reports whether the stored second address line value is currently empty. |
| IsAddr3Null() | Method | `Boolean` | Reports whether the stored third address line value is currently empty. |
| IsCityNull() | Method | `Boolean` | Reports whether the stored city value value is currently empty. |
| IsStateNull() | Method | `Boolean` | Reports whether the stored state value value is currently empty. |
| IsZipNull() | Method | `Boolean` | Reports whether the stored ZIP code value is currently empty. |
| IsZip4Null() | Method | `Boolean` | Reports whether the stored ZIP+4 extension value is currently empty. |
| IsExpDateNull() | Method | `Boolean` | Reports whether the stored expiration date is currently empty. |
| IsUpdateUserNull() | Method | `Boolean` | Reports whether the stored update user value is currently empty. |
| IsUpdateDateNull() | Method | `Boolean` | Reports whether the stored update date value is currently empty. |
| Load(inDataPortalInfo As IDataPortalInfo, Row As clsResultSet.DataRow) | Protected Friend Method | `—` | Loads this hearing-location row from a retrieved `clsResultSet.DataRow` and attaches criteria/data-portal state. |
| New() | Protected Friend Constructor | `—` | Framework constructor used when the data portal creates or materializes an instance. |
| New(inDataPortalInfo As IDataPortalInfo) | Protected Friend Constructor | `—` | Framework constructor that prepares the instance with data-portal context before creation or loading. |
| NewHearingLocation(inDataportal As IDataPortalInfo) | Shared Method | `clsHearingLocation` | Creates a new unsaved hearing-location row through the data portal so framework initialization runs. |
| GetHearingLocation(inDataportal As IDataPortalInfo, inHearingLocationSeqNum As Decimal) | Shared Method | `clsHearingLocation` | Retrieves a single hearing-location row by hearing-location sequence number. |
| GetHearingLocation(inDataportal As IDataPortalInfo) | Shared Method | `clsHearingLocation` | Retrieves a hearing-location object through the type's criteria-defined retrieval path.* |
| AddBusinessRules() | Protected Method | `—` | Registers rules requiring a location code and location name, validating state abbreviations, and restricting city values to alphabetic text. |
| ValidateState() | Method | `Boolean` | Validates the current state abbreviation by resolving it through `ALL_STATES` and checking for a valid NCCI state code. |

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources

- `SAIF.Business.Claim.Legal\TableMaint\clsHearingLocation.vb`
